home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / UTILITY / DJ_INIT.M < prev    next >
Encoding:
Text File  |  1993-12-27  |  1.3 KB  |  51 lines

  1. MODULE DJ_Init;
  2.  
  3. (*
  4.  * Ruft Xbios (30,32) auf, um nachträglich eingeschalteten HP DeskJet
  5.  * ansprechen zu können, ohne neu zu booten.
  6.  * Ist nur auf älteren TOS-Versionen nötig (auf 1.04, jedoch nicht auf 2.06)
  7.  *)
  8.  
  9. (*$E MAC     Endung für Linker: Datei mit Endung ACC erzeugen *)
  10. (*$R-,S-     Keine Bereichs-, Überlauf- und Stackprüfung *)
  11.  
  12. IMPORT XBIOS;
  13. FROM SYSTEM IMPORT ADR;
  14.  
  15. IMPORT GEMEnv;
  16. FROM AESEvents IMPORT MessageEvent, MessageBuffer, accOpen;
  17. FROM AESMenus IMPORT RegisterAcc;
  18. FROM PrgCtrl IMPORT Accessory;
  19.  
  20. VAR
  21.   gemHdl: GEMEnv.GemHandle;
  22.   menuID: CARDINAL;
  23.   menuEntry: ARRAY[0..19] OF CHAR; (* must be global!! *)
  24.   msg: MessageBuffer;
  25.   done: BOOLEAN;
  26.  
  27. BEGIN
  28.   GEMEnv.InitApplication (done);
  29.   IF done THEN
  30.     gemHdl:= GEMEnv.CurrGemHandle ();
  31.     IF NOT Accessory () THEN
  32.       (*
  33.        * Started as normal program -> activate immediately
  34.        *)
  35.       XBIOS.GIOnBit (32);
  36.     ELSE
  37.       (*
  38.        * Started as accessory -> wait for activation via gem-menu
  39.        *)
  40.       menuEntry:= '  DeskJet init';
  41.       RegisterAcc(ADR(menuEntry), menuID , done);
  42.       LOOP
  43.         MessageEvent(msg);
  44.         IF (msg.msgType = accOpen) THEN
  45.           XBIOS.GIOnBit (32);
  46.         END
  47.       END               (* Endless loop! Accessories never terminate! *)
  48.     END
  49.   END
  50. END DJ_Init.
  51.